package org.springblade.modules.admin.dto.plan;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.Date;
import java.util.List;

/**
 * @author zcc
 * @version 1.0
 * @date 2021/12/23 15:53
 */
@Data
@ApiModel("工单查询条件")
public class PlanSearchDTO {

	@ApiModelProperty("计划id")
	private Long planId;

	@ApiModelProperty("用户id")
	private List<Long> userIds;

	@ApiModelProperty("实际执行人id")
	private List<Long> realUserIds;

	@ApiModelProperty("组id")
	private List<Long> groupIds;

	@ApiModelProperty("签到状态")
	private List<Integer> signTypes;

	private String sql;

	@ApiModelProperty("项目id")
	private List<Long> buildingIds;

	@ApiModelProperty("电梯id")
	private List<Long> elevatorIds;

	@ApiModelProperty("工单状态")
	private List<Integer> planStatus;

	@ApiModelProperty("评分状态 0-未评分，1-已评分")
	private Integer scoreStatus;

	@ApiModelProperty("工单排期")
	private Date beginCreateTime;

	@ApiModelProperty("工单排期")
	private Date endCreateTime;

	@ApiModelProperty("工单完成开始时间")
	private Date beginPlanTimeFinish;

	@ApiModelProperty("工单完成结束时间")
	private Date endPlanTimeFinish;

	@ApiModelProperty("工单开始时间")
	private Date beginPlanTime;

	@ApiModelProperty("工单开始结束时间")
	private Date endPlanTime;

	@ApiModelProperty("1:正常,2:时间过短,3:时间过长")
	private Integer planWorkType;


	@ApiModelProperty("1:及时,2:逾期")
	private Integer planWorkTimeType;

	@ApiModelProperty("当前页")
	private Integer current = 1;

	@ApiModelProperty("每页的数量")
	private Integer size = 20;

	@ApiModelProperty("租户ID")
	private String tenantId;

	@ApiModelProperty("停梯状态")
	private Integer isStop;


	@ApiModelProperty("逾期开始时间")
	private Date deferBeginTime;

	@ApiModelProperty("逾期结束时间")
	private Date deferEndTime;

	private Integer deferWarrant;

	private Integer deferType;

	private Integer auditType;

	private List<Long> planIds;


	@ApiModelProperty("逾期类型1- 非年审梯,1:已逾期,2:未逾期")
	private Integer overdueType;

	/**
	 * 待开始-1 未完成-2 已完成-3
	 */
	private Integer listType;

	/**
	 * 单日时间
	 */
	private String dateTemp;
	/**
	 * 计划id
	 */
	private List<Long> taskPlanIds;
	/**
	 * 模板id
	 */
	private List<Long> templateIds;
	/**
	 * 模板场景id
	 */
	private List<Long> templateSceneTypeIds;

	/**
	 * 评分类型1:有效订单，2：无效工单3：无法判断
	 */
	private Integer scoreType;

	/**
	 * 2024-06-21 新增 设备品种id搜索条件
	 */
	private List<Long> deviceTypeIds;

	/**
	 * 2025-02-11 新增 电梯责任组搜索条件
	 */
	private List<Long> elevatorDeptIds;

	@ApiModelProperty("单位内编号")
	private String registerNumber;

	/**
	 * 2025-06-03 新增 计划时间列表
	 */
	private List<String> planDateList;

	/**
	 * 2025-06-03 新增 电梯品牌
	 */
	private List<Long> brandIds;
}
